Summary of the 3D Viewer
C Summary
Constants
Gestalt Selector and Response Values
enum { gestaltQuickDraw3DViewer = 'q3vc', gestaltQ3ViewerNotAvailable = 0, gestaltQ3ViewerAvailable = 1 }Viewer Flags
enum { kQ3ViewerShowBadge = 1<<0, kQ3ViewerActive = 1<<1, kQ3ViewerControllerVisible = 1<<2, kQ3ViewerDrawFrame = 1<<3, kQ3ViewerDraggingOff = 1<<4, kQ3ViewerButtonCamera = 1<<5, kQ3ViewerButtonTruck = 1<<6, kQ3ViewerButtonOrbit = 1<<7, kQ3ViewerButtonZoom = 1<<8, kQ3ViewerButtonDolly = 1<<9, kQ3ViewerDefault = (kQ3ViewerActive | kQ3ViewerControllerVisible | kQ3ViewerButtonCamera | kQ3ViewerButtonTruck | kQ3ViewerButtonOrbit) };Viewer State Flags
enum { kQ3ViewerEmpty = 0, kQ3ViewerHasModel = 1 };Data Types
typedef void *TQ3ViewerObject;3D Viewer Routines
Creating and Configuring Viewers
TQ3ViewerObject Q3ViewerNew(CGrafPtr port, Rect *rect, unsigned long flags); OSErr Q3ViewerDispose(TQ3ViewerObject theViewer); OSErr Q3ViewerUseFile(TQ3ViewerObject theViewer, long refNum); OSErr Q3ViewerUseData(TQ3ViewerObject theViewer, void *data, long size); OSErr Q3ViewerDraw(TQ3ViewerObject theViewer); TQ3ViewObject Q3ViewerGetView(TQ3ViewerObject theViewer); OSErr Q3ViewerRestoreView(TQ3ViewerObject theViewer); unsigned long Q3ViewerGetFlags(TQ3ViewerObject theViewer); OSErr Q3ViewerSetFlags(TQ3ViewerObject theViewer, unsigned long flags); OSErr Q3ViewerGetBounds(TQ3ViewerObject theViewer, Rect *bounds); OSErr Q3ViewerSetBounds(TQ3ViewerObject theViewer, Rect *bounds); CGrafPtr Q3ViewerGetPort(TQ3ViewerObject theViewer); OSErr Q3ViewerSetPort(TQ3ViewerObject theViewer, CGrafPtr port); TQ3GroupObject Q3ViewerGetGroup ( TQ3ViewerObject theViewer); OSErr Q3ViewerUseGroup(TQ3ViewerObject theViewer, TQ3GroupObject group); OSErr Q3ViewerGetBackgroundColor ( TQ3ViewerObject theViewer, TQ3ColorARGB *color); OSErr Q3ViewerSetBackgroundColor ( TQ3ViewerObject theViewer, TQ3ColorARGB *color);Updating Viewer Data
OSErr Q3ViewerWriteFile(TQ3ViewerObject theViewer, long refNum); unsigned long Q3ViewerWriteData ( TQ3ViewerObject theViewer, void **data);Handling Viewer Events
Boolean Q3ViewerEvent(TQ3ViewerObject theViewer, EventRecord *evt); Boolean Q3ViewerAdjustCursor(TQ3ViewerObject theViewer, Point *pt);Getting Viewer Information
unsigned long Q3ViewerGetState(TQ3ViewerObject theViewer); PicHandle Q3ViewerGetPict(TQ3ViewerObject theViewer); OSErr Q3ViewerGetButtonRect(TQ3ViewerObject theViewer, unsigned long button, Rect *rect); unsigned long Q3ViewerGetCurrentButton ( TQ3ViewerObject theViewer); OSErr Q3ViewerSetCurrentButton(TQ3ViewerObject theViewer, unsigned long button); OSErr Q3ViewerGetDimension(TQ3ViewerObject theViewer, unsigned long *width, unsigned long *height);Handling Edit Commands
OSErr Q3ViewerCut(TQ3ViewerObject theViewer); OSErr Q3ViewerCopy(TQ3ViewerObject theViewer); OSErr Q3ViewerPaste(TQ3ViewerObject theViewer); OSErr Q3ViewerClear(TQ3ViewerObject theViewer);